package Model;

import java.io.Serializable;

import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.Id;
import javax.persistence.Table;


/**
 * Esta classe implementa um POJO que representa um
 * RubricaDepartamento assim como uma entidade de um banco 
 * de dados.  
 * @author Arnaldo
 * @author Pablo Diego
 * @author Yuri Cariry 
 *
 */
@Entity
@Table ( name = "RUBRICA_DEPARTAMENTO" )
public class RubricaDepartamento implements Serializable{

	/**
	 * serialVersionUID
	 */
	private static final long serialVersionUID = 1L;

	/**
	 * Codigo identificador da RubricaDepartamento
	 */
	@Id @GeneratedValue
	@Column(name = "id", nullable = false)
	private int id; 
	
	//RUBRICA_CODIGO_RUBRICA private int  ,
	//private int departamento_codigo_departamento;
	
	/**
	 * codigoDepartamento
	 */
	@Column(name = "codigoDepartamento", nullable = false)
	private int codigoDepartamento;

	/**
	 * codigoRubrica
	 */
	@Column(name = "codigoRubrica", nullable = false)
	private int codigoRubrica;
	
	/**
	 * porcentagem
	 */
	@Column(name = "porcentagem", nullable = false )
	private float porcentagem; //PORCENTAGEM NUMERIC{9,4} ,


	/*FOREIGN KEY{DEPARTAMENTO_CODIGO_DEPARTAMENTO}
	    REFERENCES DEPARTAMENTO{CODIGO_DEPARTAMENTO}
	      ON DELETE CASCADE
	      ON UPDATE NO ACTION,
	  FOREIGN KEY{RUBRICA_CODIGO_RUBRICA}
	    REFERENCES RUBRICA{CODIGO_RUBRICA}
	      ON DELETE NO ACTION
	      ON UPDATE NO ACTION
	 */

	
	
	

	/**
	 * Construtor sem argumentos 
	 */
	public RubricaDepartamento(){}


	// GETS E SETS
	/**
	 * Metodo que retorna o id
	 * @return id o id
	 */
	public int getId() {
		return id;
	}
	/** 	
	 * Metodo que altera o id
	 * @param id o id
	 */	
	public void setId(int id) {
		this.id = id;
	}
	
	
	/**
	 * Metodo que retorna o codigoDepartamento
	 * @return codigoDepartamento o codigoDepartamento
	 */
	public int getCodigoDepartamento() {
		return codigoDepartamento;
	}
	/** 	
	 * Metodo que altera o codigoDepartamento
	 * @param codigoDepartamento o codigoDepartamento
	 */	
	public void setCodigoDepartamento(int codigoDepartamento) {
		this.codigoDepartamento = codigoDepartamento;
	}
	
	/**
	 * Metodo que retorna o codigoRubrica
	 * @return codigoRubrica o codigoRubrica
	 */
	public int getCodigoRubrica() {
		return codigoRubrica;
	}
	/** 	
	 * Metodo que altera o codigoRubrica
	 * @param codigoRubrica o codigoRubrica
	 */	
	public void setCodigoRubrica(int codigoRubrica) {
		this.codigoRubrica = codigoRubrica;
	}
	
	
	/**
	 * Metodo que retorna o porcentagem
	 * @return porcentagem o porcentagem
	 */
	public float getPorcentagem() {
		return porcentagem;
	}
	/** 	
	 * Metodo que altera o porcentagem
	 * @param porcentagem o porcentagem
	 */	
	public void setPorcentagem(float porcentagem) {
		this.porcentagem = porcentagem;
	}   

} // fim da classe
